/* ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** 
*   Copyright 2014 Jan-Marwin Wollschläger                                   *
*                                                                            *
*   Licensed under the Apache License, Version 2.0 (the "License");          *
*   you may not use this file except in compliance with the License.         *
*   You may obtain a copy of the License at                                  *
*                                                                            *
*       http://www.apache.org/licenses/LICENSE-2.0                           *
*                                                                            *
*   Unless required by applicable law or agreed to in writing, software      *
*   distributed under the License is distributed on an "AS IS" BASIS,        *
*   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. *
*   See the License for the specific language governing permissions and      *
*   limitations under the License.                                           *
** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** **  */   


/**
 * The interface all Atoms should confer to.
 *
 * @author Jan-Marwin Wollschläger
 * @version 0.1
 **/
public interface IAtom
{
   /**
   * @param String label - Atom Label for this instance, e.g. "C" for carbon.
   **/
   public void setLabel(String label);
   
   /**
   * @return  The Atom label of this instance as a String, e.g. "C" for carbon.
   **/
   public String getLabel(); 
   
   /**
   * @return The two-dimensional position of this atom.
   **/
   public IVector2 getPosition();
    
   /**
   * @arg position The new two-dimensional position of this atom.
   **/
   public void setPosition(IVector2 position);
   
}
